package com.love.marriage.userActivityInfo.vo;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.love.marriage.common.vo.BaseVo;
import com.love.marriage.config.Long2StringSerializer;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.time.LocalDate;

/**
 * description:  用户活动信息表Vo
 * author:       mybatisPlus
 * createDate:   2024-11-09 23:53:07
 * version:      1.0.0
 */
@Getter
@Setter
@Accessors(chain = true)
@Schema(name = "UserActivityInfoVo", description = "用户活动信息表Vo")
public class UserActivityInfoVo extends BaseVo<UserActivityInfoVo>{

    @JsonSerialize(using = Long2StringSerializer.class)
    @Schema(description = "用户ID，关联用户表", type = "Long", implementation = Long.class)
    private Long userId;

    @Schema(description = "性别", type = "String", implementation = String.class)
    private String gender;

    @Schema(description = "从事行业/职业", type = "String", implementation = String.class)
    private String profession;

    @Schema(description = "从事行业/职业名称", type = "String", implementation = String.class)
    private String professionName;
    @Schema(description = "收入情况", type = "String", implementation = String.class)
    private String incomeStatus;

    @Schema(description = "收入情况名称", type = "String", implementation = String.class)
    private String incomeStatusName;

    @JsonSerialize(using = Long2StringSerializer.class)
    @Schema(description = "省份ID", type = "Long", implementation = Long.class)
    private Long provinceId;

    @JsonSerialize(using = Long2StringSerializer.class)
    @Schema(description = "城市ID", type = "Long", implementation = Long.class)
    private Long cityId;

    @JsonSerialize(using = Long2StringSerializer.class)
    @Schema(description = "县区ID", type = "Long", implementation = Long.class)
    private Long districtId;

    @Schema(description = "省名称", type = "String", implementation = String.class)
    private String provinceName;

    @Schema(description = "城市名称", type = "String", implementation = String.class)
    private String cityName;

    @Schema(description = "区名称", type = "String", implementation = String.class)
    private String districtName;

    @Schema(description = "身高 (单位: cm)", type = "BigDecimal", implementation = BigDecimal.class)
    private BigDecimal height;

    @Schema(description = "体重 (单位: kg)", type = "BigDecimal", implementation = BigDecimal.class)
    private BigDecimal weight;

    @Schema(description = "活动类型（如：dating:发布约会、join_dating:参加约会、join_event：参加活动）", type = "String", implementation = String.class)
    private String activityType;

    @Schema(description = "出生年月", type = "LocalDate", implementation = LocalDate.class)
    private LocalDate birthYearMonth;
}
